package com.keter.framework.core.exception;

/**
 * 业务上需要处理的校验类异常
 * Created by gulx@neusoft.com on 2018/12/9.
 */
public class ValidateException extends RuntimeException{
    private int code = Errors.INVALIDATE.value();
    public int getCode() {
        return code;
    }
    public ValidateException(String message){
        super(message);
    }
    public ValidateException(String message, int code){
        super(message);
        this.code = code;
    }

    /**
     * 错误代码标识
     */
    public enum Errors {
        /**
         * 超时
         */
        TIMEOUT(1),
        /**
         * 校验不合法
         */
        INVALIDATE(2),
        /**
         * 其他
         */
        OTHER(99);

        // 定义私有变量
        private int nCode;

        // 构造函数，枚举类型只能为私有
        Errors(int _nCode) {
            this.nCode = _nCode;
        }

        public int value() {
            return Integer.valueOf(this.nCode);
        }

        @Override
        public String toString() {
            return String.valueOf(this.nCode);
        }
    }
}
